package implementacion;

import java.util.Date;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;

public class Comentarios {

	private EntityManager em;

	public Comentarios(EntityManager em) {
		this.em = em;
	}

	public List<Comentario> recuperarComentarios(long idRuta) {
		if (idRuta > 0) {
			String query = "SELECT comentario FROM Comentario comentario WHERE comentario.ruta='"
					+ idRuta + "'";
			TypedQuery<Comentario> comentarios = em.createQuery(query,
					Comentario.class);
			return comentarios.getResultList();
		} else
			throw new IllegalArgumentException();
	}

	public void anyadirComentario(String texto, Date fecha, long idRuta,
			String emailUsuario) {
		Ruta ruta = em.find(Ruta.class, idRuta);
		Usuario usuario = em.find(Usuario.class, emailUsuario);
		Comentario comentario = new Comentario(texto, fecha, ruta, usuario);
		em.persist(comentario);
	}

	public void eliminarComentario(long idComentario) {
		if (idComentario > 0) {
			Comentario comentario = em.find(Comentario.class, idComentario);
			em.remove(comentario);
		} else
			throw new IllegalArgumentException();
	}
}
